Công ngh Tunneling s d ng 3 lo i giao th c : ệ ử ụ ạ ứ
Giao th c v n chuy n (Carrier protocol).ứ ậ ễ Giao th c này dùng đ đ nh tuy n các tunneled packet đ n n i ứ ể ị ế ế ơ mà chúng d đ nh đ n thông qua m ng trung gian. Nh ng tunneled packets đ c đóng gói bên trong các gói ự ị ế ạ ữ ượ c a giao th c này. B i vì nó ph i đ nh tuy n gói d li u thông qua m t môi tr ng m ng trung gian h n t p, ủ ứ ở ả ị ế ữ ệ ộ ườ ạ ỗ ạ nh Internet, giao th c này ph i đ c h tr trên ph ng di n r ng. K t qu , n u tunnel đ c t o thông qua ư ứ ả ượ ổ ợ ươ ệ ộ ế ả ế ượ ạ Internet, giao th c v n chuy n ch y u dùng IP. Tuy nhiên, trong tr ng h p là m ng Intarnet riêng, m c nhiên ứ ậ ễ ủ ế ườ ợ ạ ặ giao th c đ nh tuy n cũng có th đóng vai trò nh giao th c v n chuy n. ứ ị ế ể ư ứ ậ ễ
Giao th c đóng gói d li u (Encapsulating protocol).ứ ữ ệ Nh ng giao th c này th ng dùng đ đóng gói ữ ứ ườ ể tr ng t i g c. Thêm vào đó, giao th c đóng gói cũng ch u trách nhi m cho vi c t o, b o qu n, và k t thúc đ i ọ ả ố ứ ị ệ ệ ạ ả ả ế ố v i tunnel. Ngày nay, PPTP, L2TP, và IPSec là nh ng giao th c đ c dùng ph bi n. ớ ữ ứ ượ ổ ế
Giao th c thông hành (Passenger protocol).ứ D li u g c c n đ c đóng gói vì m c đích giao d ch thông ữ ệ ố ầ ượ ụ ị qua tunnel ph thu c vào giao th c này. PPP và SLIP (ụ ộ ứ Serial Line Internet Protocol) thì th ng đ c giao th c ườ ượ ứ thông hành dùng. Figure 47: Mapping the tunneled packet format to tunneling protocols. 2. Tunneling Protocols t ng 2.ở ầ 2.1 PointtoPoint Protocol (PPP).
PPP là m t giao th c đóng gói d li u thu n ti n trong vi c v n chuy n l u thông m ng thông qua các k t n i ộ ứ ữ ệ ậ ệ ệ ậ ễ ư ạ ế ố n i ti p pointtopoint. Thu n l i l n nh t c a PPP là nó có th ho t đ ng đem l i hi u qu cho b t k Data ố ế ậ ợ ớ ấ ủ ể ạ ộ ạ ệ ả ấ ỳ Terminal Equipment (DTE) ho c Data Connection Equipment (DCE) bao g m EIA/TIA232C và ITUT V.35.ặ ồ m t đi m yêu thích n a c a PPP là nó không gi i h n t l giao d ch. Cu i cùng, ch thi t b PPP có th cho m tộ ể ữ ủ ớ ạ ỉ ệ ị ố ỉ ế ị ể ộ k t n i kép (2 chi u) có th đ i x ng ho c không đ i x ng và có th thao tác theo ph ng th c chuy n m ch ế ố ề ể ố ứ ặ ố ứ ể ươ ứ ễ ạ ho c chuyên d ng. ặ ụ
Chú ý : EIA/TIA232C tr c đây đ c hi u là RS232C.ướ ượ ể
Ngoài vi c đóng gói d li u IP và nonIP và nó v n chuy n qua các k t n i n i ti p, PPP cũng đ m nhi m m t ệ ữ ệ ậ ễ ế ố ố ế ả ệ ộ s ch c năng sau đây :ố ứ
Ch đ nh và qu n lý t các đ a ch IP đ n các gam d li u nonIP.ỉ ị ả ừ ị ỉ ế ữ ệ
C u hình và ki m tra các k t n i đã đ c thi t l p. ấ ể ế ố ượ ế ặ
Đóng gói không đ ng b và đ ng b các gam d li u. ồ ộ ồ ộ ữ ệ
Phát hi n l i trong su t quá trình giao d ch. ệ ỗ ố ị
Tr n các đa giao th c t ng 2. ộ ứ ở ầ
Đàm phán các tham s c u hình tu ch n, nh nén và đánh đ a ch d li u. ố ấ ỳ ọ ư ị ỉ ữ ệ PPP th c hi n ch c năng này b ng 3 tiêu chu n : ự ệ ứ ằ ẩ
Tiêu chu n cho vi c đóng gói nh ng gói d li u qua các n i k t đi mđi m. ẩ ệ ữ ữ ệ ố ế ể ể
Chú ý : Tiêu chu n cho vi c đóng gói các gói d li u thông qua các k t n i đi mđi m là ph ng th c l ng l o ẩ ệ ữ ệ ế ố ể ể ươ ứ ỏ ẻ trong giao th c HighLevel Data Link Control (HDLC). Ngoài ra, cũng có s khác nhau gi a 2 chu n. Ví d : ứ ự ữ ẩ ụ HDLC phân chia gói d li u ra thành frame, PPP thì không. ữ ệ
Tiêu chu n cho vi c thi t l p, c u hình, và ki m tra k t n i đi mđi m v i s giúp đ c a Link Control ẩ ệ ế ặ ấ ể ế ố ể ể ớ ự ở ủ Protocol (LCP)
Tiêu chu n cho vi c thi t l p và c u hình m t s các giao th c t ng m ng và phát hi n l i trong su t quá ẩ ệ ế ặ ấ ộ ố ứ ầ ạ ệ ỗ ố trình giao d ch d i hình th c c a Network Control Protocol (NCP) phù h p.ị ướ ứ ủ ợ
2.1.1 Quá trình ho t đ ng PPP.ạ ộ
Các ho t đ ng c a PPP đ c ti n hành theo nh ng ph ng cách sau :ạ ộ ủ ượ ế ữ ươ
1. Sau khi đóng gói các gói d li u, nút ngu n (hay b kh i t o) g i LCP frame thông qua liên k t đi mđi m ữ ệ ồ ộ ở ạ ử ế ể ể đ n nút c n đ n. ế ầ ế
2. Nh ng frame này đ c dùng đ c u hình k t n i theo tham s xác đ nh và ki m tra các k t n i đã đ c thi tữ ượ ể ấ ế ố ố ị ể ế ố ượ ế l p n u có. ặ ế
3. Sau khi nút đích ch p nh n yêu c u k t n i và m t k t n i đ c thi t l p thành công, nh ng tùy ch n thu n ấ ậ ầ ế ố ộ ế ố ượ ế ặ ữ ọ ậ l i đ c đã đàm phán, đ c xác đ nh b i LCPs. ợ ượ ượ ị ờ
4. Sau đó nút ngu n g i các frame NCP đ l a ch n và c u hình các giao th c t ng m ng.ồ ử ể ự ọ ấ ứ ầ ạ
5. Sau khi các giao th cứ t ng m ng đã đ c c u hình , 2 đi m cu i b t đ u trao đ i d li u cho nhau.ầ ạ ượ ấ ể ố ắ ầ ổ ữ ệ
Khi m t k t n i đ c thi t l p, nó s t n t i cho đ n khi LCP hay NCP frame báo hi u đi m cu i liên k t. N i ộ ế ố ượ ế ặ ẽ ồ ạ ế ệ ể ố ế ố k t s b ng t trong tr ng h p n i k t không thành công ho c có s can thi p c a ng i dùng.ế ẽ ị ắ ườ ợ ố ế ặ ự ệ ủ ườ
2.1.2 PPP Packet Format
Có 6 tr ng c u thành m t PPP frame :ừơ ấ ộ
Flag. Tr ng này ch đ nh ph n đ u và ph n đuôi c a 1 frame. Chi u dài c a tr ng này là 1 byte.ườ ỉ ị ầ ầ ầ ủ ề ủ ườ
Address. B i vì s d ng k t n i đi mđi m, PPP không dùng đ a ch c a các nút riêng l . Do đó, tr ng nàyở ử ụ ế ố ể ể ị ỉ ủ ẻ ườ ch a m t chu i s nh phân 11111111, là đ a ch broadcast. Chi u dài c a tr ng này là 1 byte. ứ ộ ổ ố ị ị ỉ ề ủ ườ
Control. Tr ng này ch a dãy s nh phân 00000011, có nghĩa là frame đang mang d li u c a ng i dùng ườ ứ ố ị ữ ệ ủ ườ là m t frame thi u trình tộ ế ự ch ra tính ch t quá trình giao d ch không k t n i c a PPP. Chi u dài c a tr ng này ỉ ấ ị ế ố ủ ề ủ ườ là 1 byte.
Protocol. Tr ng này ch ra giao th c c a d li u đã đ c đóng gói trong tr ng d li u c a frame. Giao ườ ỉ ứ ủ ữ ệ ượ ườ ữ ệ ủ th c trong tr ng này đ c xác đ nh theo con s đính kèm trong b RFC 3232. chi u dài c a tr ng này là 2 ứ ườ ượ ị ố ộ ề ủ ườ byte. The length of the field is two bytes. Tuy nhiên, cũng có th là 1 byte n u c hai ngang c p. ể ế ả ấ
Data. Tr ng này ch a đ ng thông tin hi n t i đ c trao đ i gi a các nút ngu n và đích. Chi u dài c a ườ ứ ự ệ ạ ượ ổ ữ ồ ề ủ tr ng này r t khác nhau, tuy nhiên chi u dài t i đa c a tr ng này có th lên đ n 1500 byte. ườ ấ ề ố ủ ườ ể ế
FCS (Frame Check Sequence). Tr ng này ch a đ ng trình t ki m tra giúp ng i nh xác nh n chính xácườ ứ ự ự ể ườ ậ ậ thông tin v a nh n trong tr ng d li u. Thông th ng, chi u dài c a tr ng là 2 byte. Tuy nhiên, vi c tri n ừ ậ ườ ữ ệ ườ ề ủ ườ ệ ể khai PPP có th đ t đ n 4 byte FCS nh m m c đích tăng kh năng phát hi n l i.ể ạ ế ằ ụ ả ệ ỗ
Figure 53: The format of a typical PPP frame. 2.1.3 PPP Link Control
Đ tăng kh năng thành công khi trao đ i d li u gi a 2 nút, PPP cũng đ m nhi m ch c năng đi u khi n k t n iể ả ổ ữ ệ ữ ả ệ ứ ề ể ế ố đ c thi t l p gi a hai thông tin đ u cu i. PPP s d ng LCP trong m c đích này, sau đây là nh ng ch c năng ượ ế ặ ữ ầ ố ử ụ ụ ữ ứ c a LCP : ủ
Giúp đ thi t l p n i k t PPP. ỡ ế ặ ố ế
C u hình các n i k t đã đ c thi t l p nh m đáp ng các yêu c u c a các bên thông tin. ấ ố ế ượ ế ặ ằ ứ ầ ủ
Th c hi n ch c năng b o trì th ng xuyên các k t n i PPP. ự ệ ứ ả ườ ế ố
K t thúc n i k t n u d li u trao đ i gi a hai đ u cu i hoàn thành. ế ố ế ế ữ ệ ổ ữ ầ ố
Chú ý :
Trong PPP, thu t ng “link” (n i k t) đ i di n cho k t n i đi mđi m. ậ ữ ố ế ạ ệ ế ố ể ể
LCP d a trên đi u khi n k t n i x y ra trong 4 giai đo n, ự ề ể ế ố ả ạ giai đo n thi t l p k t n i và đàm phánạ ế ặ ế ố , giai đo n xácạ
đ nh ch t l ng k t n i, giai đo n đàm phán giao th c t ng m ng, và giai đo n k t thúc k t n i.ị ấ ượ ế ố ạ ứ ầ ạ ạ ế ế ố Mô t d i đâyả ướ t ng k t l i 4 giai đo n đi u khi n k t n i :ổ ế ạ ạ ề ể ế ố
Link establishment and negotiation. Tr c khi có b t k s trao đ i d a trên PPP có th x y ra gi a 2 nútướ ấ ỳ ự ổ ự ể ả ữ ngu n và đích, LCP ph i thi t l p (m ) k t n i gi a 2 đ u cu i và đàm phán các tham s c u hình. LCP dùng ồ ả ế ặ ở ế ố ữ ầ ố ố ấ Linkestablishment frames cho m c đích này. Khi m i đ u cu i tr l i v i chính ConfigurationAck frame c a ụ ỗ ầ ố ả ạ ớ ủ nó, giai đo n này k t thúc. ạ ế
Link quality determination. Giai đo n này là giai đo n tùy ch n, nh m xác đ nh xem ch t l ng c a k t ạ ạ ọ ằ ị ấ ượ ủ ế n i đã s n sàng cho các giao th c t ng m ng không. ố ẵ ứ ầ ạ
Networklayer protocol negotiation. Trong giai đo n này, d li u c a giao th c t ng d i (t ng Network)ạ ữ ệ ủ ứ ầ ướ ầ mà đã đ c đóng gói trong tr ng Protocol c a PPP frame đ c đàm phán. ượ ườ ủ ượ
Link termination. Đây là giai đo n cu i cùng c a LCP và dùng đ k t thúc k t n i PPP đã thi t l p tr c ạ ố ủ ể ế ế ố ế ặ ướ gi a hai đ u cu i. Công vi c k t thúc k t n i có th di n ra suôn s , t nh và cũng có th đ t ng t, b t thình ữ ầ ố ệ ế ế ố ể ễ ẽ ế ị ể ộ ộ ấ lình. S ng t k t n i t nh x y ra sau khi d li u trao đ i gi a hai đ u cu i hoàn thành, ho c yêu c u c a m t ự ắ ế ố ế ị ả ữ ệ ổ ữ ầ ố ặ ở ầ ủ ộ trong hai bên (đ u cu i). M t s ki n v t lý, nh m t ng i v n chuy n ho c h t th i h n c a m t kho ng th i ầ ố ộ ự ệ ậ ư ấ ườ ậ ễ ặ ế ờ ạ ủ ộ ả ờ gian nhàn r i, s ng t k t n i b t thình lình s x y ra. Linktermination frames đ c trao đ i gi a các bên có ổ ự ắ ế ố ấ ẽ ả ượ ổ ữ liên quan tr c khi b ng t k t n i. ướ ị ắ ế ố
Ngoài Linkestablishment và Linktermination frames, PPP s d ng m t lo i frame th 3 đ c g i là Linkử ụ ộ ạ ứ ượ ọ maintenance frames. Nh ng frame này, gi ng nh tên g i ra, đ c trao đ i trong nh ng v n đ có liênữ ố ư ợ ượ ổ ữ ấ ề k t n i ế ố và dùng đ qu n lý và debug các k t n i PPP.ể ả ế ố
Ngày nay m c dù không đ c s d ng nh VPNs, công ngh PPP là nguyên t c c b n cho các giao th c ặ ượ ử ụ ư ệ ắ ơ ả ứ tunneling khác s d ng r ng rãi trong VPNs. Th t v y, t t c các giao th c tunneling ph bi nử ụ ộ ậ ậ ấ ả ứ ổ ế đ u d a trên ề ự PPP và đóng gói PPP frames vào IP hay các datagram khác cho vi c giao d ch thông qua m ng trung gian.ệ ị ạ
2.2 PointtoPoint Tunneling Protocol (PPTP).
PPTP là m t gi i pháp đ c quy n cung c p kh năng b o m t gi a remote client và enterprise server b ng vi c ộ ả ộ ề ấ ả ả ậ ữ ằ ệ t o ra m t VPN thông qua m t IP trên c s m ng trung gian. Đ c phát tri n b i PPTP Consortium (Microsoftạ ộ ộ ơ ở ạ ượ ể ở Corporation, Ascend Communications, 3COM, US Robotics, và ECI Telematics), PPTP đ c đ a ra d a trên ượ ư ự yêu c u VPNs thông qua m ng trung gian không an toàn. PPTP không nh ng t o đi u ki n d dàng cho vi c ầ ạ ữ ạ ề ệ ễ ệ b o m t các giao d ch thông qua TCP/IP trong môi tr ng m ng chung, mà còn qua m ng riêng intranet. ả ậ ị ườ ạ ạ
Chú ý:
Khi Microsoft s d ng vai trò khóa trong s phát tri n c a PPTP, t t c các s n ph m v m ng c a Microsoft, ử ụ ự ể ủ ấ ả ả ẩ ề ạ ủ như Windows NT 4.0 (server và workstation editions) và Windows 2000, h trổ ợ PPTP natively.
1 Công d ng c a PSTNs (Public Switched Telephone Networks).ụ ủ PPTP cho phép s d ng PSTNs cho vi cử ụ ệ tri n khai VPNs. K t qu là, quá trình x lý s phát tri n VPN đ c bi t đ n gi n và t ng chi phí cho vi c ể ế ả ử ự ể ặ ệ ơ ả ổ ệ tri n khai thì khá th p. Đ i v i nh ng doanh nghi p có k t n i m ng di n r ng d a trên các đ ng thuê bao ể ấ ố ớ ữ ệ ế ố ạ ệ ộ ự ườ leased line đ c lo i b .ượ ạ ỏ
2 H tr giao th c NonIP.ổ ợ ứ PPTP cũng h tr m t s giao th c tri n khai m ng thông th ng khác nhổ ợ ộ ố ứ ể ạ ườ ư TCP/IP, IPX, NetBEUI, và NetBIOS.
2.2.1 Vai trò c a PPP trong giao d ch PPTPủ ị
PPTP là ph n m r ng c a PPP, nó không thay đ i công ngh PPP. Nó ch đ nh nghĩa m t ph ng pháp m i ầ ở ộ ủ ổ ệ ỉ ị ộ ươ ớ trong vi c v n chuy n l u l ng VPN thông qua m t m ng chung không an toàn. Khá gi ng PPP, PPTP cũng ệ ậ ể ư ượ ộ ạ ố không h tr đa k t n i, t t c các k t n i PPTP đ u d ngổ ợ ế ố ấ ả ế ố ề ở ạ đi mđi m. PPP th c hi n m t s ch c năng giao ể ể ự ệ ộ ố ứ d ch d a trên PPP :ị ự
Thi t l p và k t thúc các k t n i v t lý gi a 2 đ u cu i thông tin. ế ặ ế ế ố ậ ữ ầ ố
Xác th c PPTP clients.ự
Mã hóa IPX, NetBEUI, NetBIOS, TCP/IP datagrams đ t o ra PPP datagrams và b o m t d li u trao ể ạ ả ậ ữ ệ đ i gi a các bên có liên quan. ổ ữ
PPP có th s d ng m t s c ch xác nh n nh cleartext, encrypted, ho c Microsoftencrypted cho vi c xác ể ử ụ ộ ố ơ ế ậ ư ặ ệ nh n các PPTP clients.ậ
Figure 54: The three responsibilities of PPP in a PPTP transaction. Chú ý: vai trò c a PPP r t gi ng L2F và L2TP trong quá trinh giao d ch.ủ ấ ố ị
2.2.2 Các thành ph n c a quá trình giao d ch PPTPầ ủ ị
B t k quá trình giao d ch nào d a trên PPTP tri n khai ít nh t 3 thành ph n, các thành ph n đó là :ấ ỳ ị ự ể ấ ầ ầ
PPTP client
Network Access Server (NAS)
PPTP server
Figure 55: A PPTP tunnel and the three components of PPTPbased transactions. 2.2.2.1 PPTP Clients
M t PPTP client là m t nút m ng h tr PPTP và có th yêu c u nh ng nút khác cho m t phiên VPN. N u k t ộ ộ ạ ổ ợ ể ầ ữ ộ ế ế n i đ c yêu c u t m t remote server. PPTP client ph i s d ng d ch v c a ISP’s NAS. Vì lý do đó, client ố ượ ầ ừ ộ ả ử ụ ị ụ ủ ph i dùng modem đ k t n i vào k t n i PPP t i nhà ISP.ả ể ế ố ế ố ớ PPTP client cũng ph i đ c k t n i vào thi t b VPN ả ượ ế ố ế ị đ có th tunnel yêu c u (và d li u ti p theo, n u yêu c u đ c ch p nh n) đ n thi t b VPN trên m ng t xa. ể ể ầ ữ ệ ế ế ầ ượ ấ ậ ế ế ị ạ ừ K t n i đ n các thi t b VPN t xa s d ng k t n i quay s đ u tiên đ n ISP’s NAS đ thi t l p m t tunnel gi a ế ố ế ế ị ừ ử ụ ế ố ố ầ ế ể ế ặ ộ ữ hai thi t b VPN thông quan Internet ho c các m ng trung gian khác. ế ị ặ ạ
Không gi ng nh ng yêu c u cho các phiên k t n i VPN t xa, yêu c u cho m t phiên VPN đ n m t m ng c c ố ữ ầ ế ố ừ ầ ộ ế ộ ạ ụ b không yêu c u m t k t n i đ n ISP’s NAS. C client và server đ u đã đ c k t n i v m t v t lý, vi c t o ra ộ ầ ộ ế ố ế ả ề ượ ế ố ề ặ ậ ệ ạ m t k t n i đ n ISP’s NAS là không c n thi t. Client, trong tr ng h p này, ch yêu c u các phiên k t n iộ ế ố ế ầ ế ườ ợ ỉ ầ ế ố quay s b ng thi t b VPN trên server. ố ằ ế ị
Khi các gói d li u yêu c u đ nh tuy n cho m t yêu c u t xa và m t yêu c u k t n i c c b khác nhau, gói d ữ ệ ầ ị ế ộ ầ ừ ộ ầ ế ố ụ ộ ữ li u đ c g n kèm v i 2 yêu c u đ c x lý khác nhau. Gói d li u PPTP đ n m t server c c b mà đ c đ t ệ ượ ắ ớ ầ ượ ử ữ ệ ế ộ ụ ộ ượ ặ trên thi b v t lý trung gian g n kèm card m ng c a PPTP client. Ng c l i, gói d li u PPTP đ n remote ế ị ậ ắ ạ ủ ượ ạ ữ ệ ế server đ c đ nh tuy n thông qua ph ng ti n truy n thông v t lý đ c g n kèm trong thi t b thông tin, ch ng ượ ị ế ươ ệ ề ậ ượ ắ ế ị ẳ h n nh router.ạ ư
2.2.2.2 PPTP Servers
PPTP Servers là nh ng nút m ng h tr PPTP và có kh năng duy trì cáữ ạ ổ ợ ả c yêu c u cho các phiên VPN t ầ ừ nh ng nút khácữ (t xa ho c n i b ). Đ đáp l i nh ng yêu c u t xa, nh ng server ph i h tr kh năng đ nh ừ ặ ộ ộ ể ạ ữ ầ ừ ữ ả ổ ợ ả ị tuy nế
2.2.2.3 PPTP Network Access Servers (NASs)
PPTP NASs đ c đ t t i nhà cung c p d ch v ISP và cung c p k t n i Internet đ n các client s d ng PPP đ ượ ặ ạ ấ ị ụ ấ ế ố ế ử ụ ể quay s . Kh năng có nhi u client đ ng th i đ a ra yêu c u phiên m t VPN là r t cao, nh ng server ph i có khố ả ề ồ ờ ư ầ ộ ấ ữ ả ả năng h tr đ ng th i nhi u client. H n n a, PPTP client không b h n ch v i các h đi u hành không ph i c aổ ợ ồ ờ ề ơ ữ ị ạ ế ớ ệ ề ả ủ Microsoft. Do đó, PPTP NASs có kh năng x lý dùng nhi u h đi u hành khác nhau nhả ữ ề ệ ề ư Microsoft's
Windows, Unix, và Apple's Macintosh. 2.2.3 Quá trình x lý PPTPữ
PPTP t n d ng 3 quá trình x lý đ b o đ m cho thông tin liên l c PPTP thông qua môi tr ng không an toàn. ậ ụ ữ ể ả ả ạ ườ Nh ng quá trình đó là : ữ
Quá trình thi t l p k t n i PPPế ặ ế ố
Đi u khi n k t n iề ể ế ố
PPTP tunneling và trao đ i d li uổ ữ ệ 2.2.3.1 Đi u khi n k t n i PPTPề ể ế ố
Sau khi k t n i PPP gi a PPTP client và server đ c thi t l p, quá trình đi u khi n PPTP b t đ u. Nh hình 57,ế ố ữ ượ ế ặ ề ể ắ ầ ư PPTP connection control đ c thi t l p d a trên c s đ a ch IP c a client và server, s d ng c ng TCP đ ng ượ ế ặ ự ơ ở ị ỉ ủ ử ụ ổ ộ và chi m gi c ng TCP 1723. Sau khi quá trình đi u khi n k t n i đ c thi t l p, các thông tin đi u khi n và ế ữ ổ ề ể ế ố ượ ế ặ ề ể qu n lý s đ c trao đ i gi a các bên có liên quan trong quá trình giao ti p. Nh ng thông tin đ m nhi m vai trò ả ẽ ượ ổ ữ ế ữ ả ệ
b o trì, qu n lý và k t thúc PPP tunnel. Nh ng thông đi p này là nh ng thông đi p có đ nh k bao g m "PPTPả ả ế ữ ệ ữ ệ ị ỳ ồ EchoRequest, PPTPEchoReply" dùng đ giúp đ trong vi c dò tìm các k t n i PPTP h h ng gi a server và ể ỡ ệ ế ố ư ỏ ữ client.
Figure 57: Exchanging PPTP control messages over a PPP connection. M t s thông đi p ph bi n đ c dùng trong vi c đi u khi n PPTP đ c th hi n b ng sau : ộ ố ệ ổ ế ượ ệ ề ể ượ ể ệ ở ả
B ng 51 : m t s thông đi p ph bi n trong PPTP Control ả ộ ố ệ ổ ế
Tên Mô tả
StartControlConnection
Request Yêu c u t PPTP client đ thi t l p k t n i đi u khi n.
ầ ừ ể ế ặ ế ố ề ể
StartControlConnection
Reply H i đáp t PPTP server đ n thông đi p StartControlConnectionRequest t client.
ồ ừ ế ệ ừ
OutgoingCallRequest Yêu c u t PPTP client đ n server đ thi t l p m t PPTP tunnel.ầ ừ ế ể ế ặ ộ
OutgoingCallReply H i đáp t PPTP server đ n thông đi p OutgoingCallRequest c a client.ồ ừ ế ệ ủ
EchoRequest C ch duy trì c a client ho c server. N u bên đ i di n không h i đáp l i thông đi p, ơ ế ủ ặ ế ố ệ ồ ạ ệ tunnel s đ c ng t. ẽ ượ ắ
EchoReply H i đáp l i thông đi p EchoRequest t bên yêu c u. ồ ạ ệ ừ ầ SetLinkInfo Thông đi p tùy ch n t m t bên có liên quan PPP.ệ ọ ừ ộ
CallClearRequest Thông đi p t PPTP client kh i t o quá trình k t thúc c a tunnel.ệ ừ ở ạ ế ủ
CallDisconnectNotify H i đáp t server đ n CallClearRequest c a client. Nó cũng đ c xem là thông đi pồ ừ ế ủ ượ ệ t server kh i t o quá trình k t thúc tunnel.ừ ở ạ ế
WANErrorNotify Thông đi p t PPTP server đ n t t c các PPTP client nh m thông báo l i trong PPP ệ ừ ế ấ ả ằ ỗ interface c a server.ủ
StopControlConnection
Request Thông đi p t PPTP client ho c server thông báo m t s k t thúc khác trong qua
ệ ừ ặ ộ ự ế
trình k t thúc k t n i đi u khi n.ế ế ố ề ể StopControlConnection
Reply H i đáp t phíaa đ i di n đ n thông đi p StopControlConnectionRequest.
As depicted in Figure 58, PPTP control messages are encapsulated in TCP datagrams. Therefore, after the establishment of a PPP connection with the remote server or client, a TCP connection is established. This connection is subsequently used to exchange PPTP control messages.
Figure 58: PPTP control in the TCP datagram.
2.2.3.2 Quá trình t o đ ng h m d li u và x lý PPTP.ạ ườ ầ ữ ệ ữ
M t gói d li u PPTP ph i trãi qua nhi u giai đo n đóng gói, bao g m nh ng giai đo n sau: ộ ữ ệ ả ề ạ ồ ữ ạ
1. Quá trình đóng gói d li u.ữ ệ Thông tin nguyên b n (t i đa) đ c mã hóa và đ c đóng gói bên trong ả ố ượ ượ m t PPP frame. M t PPP header đ c thêm vào frame.ộ ộ ượ
2. Quá trình đóng gói các PPP frame. T ng h p các PPP frame sau đó đóng gói bên trong m t Generic ổ ợ ộ Routing Encapsulation (GRE) đã đ c s a đ i. GRE header ch a tr ng 4byte Acknowledgement và ượ ử ổ ứ ườ m t bit Acknowledgement h i đáp. Ngoài ra, tr ng khóa trong GRE frame đ c thay th b ng tr ng ộ ồ ườ ượ ế ằ ườ 2 byte long g i chi u dài t i đa và 2 byte long đ c xem là ID. PPTP client xây d ng nh ng tr ng này ọ ề ố ượ ự ữ ườ khi nó t o ra PPTP tuunel. ạ
3. Quá trình đóng gói GRE. K t t p, m t IP header đã đ c đóng gói bên trong gói GRE đ c thêm vào ế ế ộ ượ ượ PPP frame. Ph n IP header này ch a d ng đ a ch IP ngu n c a PPTP client và đích c a server.ầ ứ ự ị ỉ ồ ủ ủ
4. Quá trình đóng gói t ng Data Link.ầ PPTP là m t giao th c t o đ ng h m n m t ng 2. Vì v y, ph nộ ứ ạ ườ ầ ằ ở ầ ậ ầ header c a Data Link và ph n đuôi gi vai trò quan tr ng trong vi c t o đ ng h m cho d li u. Tr c ủ ầ ữ ọ ệ ạ ườ ầ ữ ệ ướ khi đ c đ t vào môi tr ng truy n thông, t ng Data Link thêm ph n đ u và đuôi c a nó vào gói d ượ ặ ườ ề ầ ầ ầ ủ ữ li u. N u gói d li u đ c truy n qua PPTP tunnel c c b , gói d li u đ c đóng gói b ng ph n đ u và ệ ế ữ ệ ượ ề ụ ộ ữ ệ ượ ằ ầ ầ đuôi theo công ngh LAN (nh Ethernet). û m t khía c nh khác, n u tunnel đ c đáp l i thông qua ệ ư Ơ ộ ạ ế ượ ạ m t k t n i WAN, ph n đ u và đuôi mà đ c thêm vào gói d li u m t l n n a thì không thay đ i. ộ ế ố ầ ầ ượ ữ ệ ộ ầ ữ ổ
Figure 59: The process of PPTP data tunneling. Chú ý :
GRE là m t c ch đóng gói đ n gi n, nh cân, đa năng cho d li u trên c s . GRE th ng đ c dùng b i nhà ộ ơ ế ơ ả ẹ ữ ệ ơ ở ườ ượ ở cung c p ISPs dùng đ chuy n h ng thông tin đ nh tuy n bên trong m ng Intranet c a h . Tuy nhiên, các ấ ể ể ướ ị ế ạ ủ ọ internet backbone router trong m ng Intranet c a ISP trích l c l u l ng GRE này. Do đó, PPTP tunnel đã đ cạ ủ ọ ư ượ ượ thi t l p có th b o đ m và bí m t chuy n đ n cho ng i nh n. ế ặ ể ả ả ậ ể ế ườ ậ
Khi d li u PPTP đ c chuy n thành công đ n ng i nh n mong mu n, ng i nh n ph i x lý gói d li u đã ữ ệ ượ ể ế ườ ậ ố ườ ậ ả ữ ữ ệ tunnel trích ra thành d li u nguyên b n. Quá trình x lý trích xu t PPTPtunneled data m t cách chính xác ữ ệ ả ữ ấ ộ công vi c ph c h i d li u PPTP đã t o h m. Nh hình 510, đ nh n đ c d li u nguyên g c ng i nh n theoệ ụ ồ ữ ệ ạ ầ ư ể ậ ượ ữ ệ ố ườ ậ nh ng b c sau :ữ ướ
1. Ng i nh n x lý và g b ph n đ u và ph n đuôi c a t ng Data Link header mà đã đ c thêm vào b i ườ ậ ữ ở ỏ ầ ầ ầ ủ ầ ượ ở ng i g i. ườ ử
2. K ti p, ph n đ u GRE đ c g b . ế ế ầ ầ ượ ở ỏ 3. Ph n đ u IP đ c x lý và đ c g b . ầ ầ ượ ữ ượ ở ỏ 4. Ph n đ u PPP đ c x lý và đ c g b . ầ ầ ượ ữ ượ ở ỏ
Figure 510: Processing PPTPtunneled data at the recipient end.
2.2.4 B o m t trong PPTPả ậ
PPTP đ a ra m t s d ch v khác nhau cho PPTP client và server. Nh ng d ch v này bao g m các d ch v sau :ư ộ ố ị ụ ữ ị ụ ồ ị ụ
Mã hóa và nén g li u. ữ ệ
Th m đ nh quy n (Authentication)ẩ ị ề
Đi u khi n truy c p (Access control)ề ể ậ
Trích l c Packetọ
Ngoài các c ch b o m t c b n nói trên, PPTP có th đ c s d ng k t h p v i firewall và router. ơ ế ả ậ ơ ả ể ượ ử ụ ế ợ ớ 2.2.4.1 Mã hóa và nén d li u PPTPữ ệ
PPTP không cung c p c ch mã hóa b o m t d li u. Thay vì nó dùng d ch v mã hóa đ c đ a ra b i PPP. ấ ơ ế ả ậ ữ ệ ị ụ ượ ư ở PPP l n l t dùng ầ ượ Microsoft PointtoPoint Encryption (MPPE), đây là ph ng pháp mã hóa shared secret. ươ Ph ng pháp shared secret th ng dùng cho m c đích mã hóa trong tr ng h p PPP là ID c a ng i dùng và ươ ườ ụ ườ ợ ủ ườ nó t ng ng v i m t kh u. 40bit session key th ng dùng đ mã hóa user ID và m t kh u xu t phát t thu t ươ ứ ớ ậ ẩ ườ ể ậ ẩ ấ ừ ậ toán hàm băm đ c ch a trên c client và server. Thu t toán băm đ c dùng đ c p khóa là thu t toán RSA ượ ứ ả ậ ượ ể ấ ậ RC4. khóa này đ c dùng đ mã hóa t t c d li u đ c trao đ i qua tunnel. Tuy nhiên, 40bit key thì quá ng n ượ ể ấ ả ữ ệ ượ ổ ắ
và quá y u kém đ i v i các k thu t hack ngày nay. Vì th , phiên b n 128bit key đã ra đ i. Nh m làm gi m r iế ố ớ ỹ ậ ế ả ờ ằ ả ủ ro, Microsoft đòi h i khóa ph i đ c làm t i sau 256 gói packet. ỏ ả ượ ươ
2.2.4.2 PPTP Data Authentication
PPTP h tr m t s ch ch xác nh n c b n c a Microsoft sau :ổ ợ ộ ố ơ ế ậ ơ ả ủ
MSCHAP (Microsoft Challenge Handshake Authentication Protocol). MSCHAP là m t phiên b nộ ả tùy bi n c a Microsoft c a CHAP, và đ c dùng làm ph ng pháp xác nh n c b n cho PPP. B i vì nó ế ủ ủ ượ ươ ậ ơ ả ở t ng đ i m nh nhươ ố ạ ư CHAP, ch c năng c a MSCHAP thì hoàn toàn t ng t CHAP. Hai đi m khác ứ ủ ươ ự ể nhau chính gi a hai c ch là CHAP d a trên thu t toán hàm băm RSA MD5, MSCHAP thì d a trên ữ ơ ế ự ấ ự RSA RC4 và DES. Vì lý do th c t MSCHAP đã đ c phát tri n đ n đ c cho các s n ph m c a ự ế ượ ể ơ ộ ả ẩ ủ Microsoft (Windows 9x và m t s phiên b n Windows NT), nó không đ c h tr b i các n n t ng ộ ố ả ượ ổ ợ ở ề ả khác.
PAP (Password Authentication Protocol). PAP thì đ n gi n và th ng đ c tri n khai nhi u nh t ơ ả ườ ượ ể ề ấ trong giao th c xác nh n quay s . Nó cũng đ c dùng đ xác nh n các k t n i PPP. Tuy nhiên, nó g i ứ ậ ố ượ ể ậ ế ố ử user ID và m t kh u trong m t đ nh d ng ch a mã hóa thông qua k t n i. M t k h khác c a PAP là ậ ẩ ộ ị ạ ư ế ố ộ ẻ ở ủ ch xác nh n m t l n đi m thông tin cu i o giai đo n thi t l p k t n i. Vì lí do đó, n u m t hacker xâm ỉ ậ ộ ầ ể ố ạ ế ặ ế ố ế ộ nh p vào k t n i đ c m t l n, anh ho c cô ta s không ph i lo l ng gì thêm n a vậ ế ố ượ ộ ầ ặ ẽ ả ắ ữ ề xác nh n. Chính vì ậ lí do đó, PAP đ c xem là m t giao th c xác nh n kém nh t và vì th nó không đ c a thích trong c ượ ộ ứ ậ ấ ế ượ ư ơ ch xác nh n c a VPN. ế ậ ủ
2.2.4.3 Đi u khi n truy c p PPTPề ể ậ
Sau khi PPTP client t xa đ c xác nh n thành công, nó s truy c p vào tài nguyên m ng đã b gi i h nừ ượ ậ ẽ ậ ạ ị ớ ạ vì lí do b o m t. Đ đ t đ c m c tiêu này, có th tri n khai m t s c ch đi u khi n truy c p sau :ả ậ ể ạ ượ ụ ể ể ộ ố ơ ế ề ể ậ
Access rights
Permissions
Workgroups
2.2.4.4 Trích l c các gói d li u PPTPọ ữ ệ
Vi c trích l c các gói d li u PPTP cho phép m t PPTP server trên m t m ng riêng ch p nh n và đ nh tuy n ệ ọ ữ ệ ộ ộ ạ ấ ậ ị ế các gói d li u t nh ng PPP client đã đ c xác nh n thành công. K t qu , ch có nh ng PPP client đã đ c xácữ ệ ừ ữ ượ ậ ế ả ỉ ữ ượ nh n m i đ c c p quy n truy c p vào m ng t xa chuyên bi t. B ng cách này, PPTP không ch cung c p các ậ ớ ượ ấ ề ậ ạ ừ ệ ằ ỉ ấ c ch xác nh n, đi u khi n truy c p và mã hóa, mà còn tăng đ b o m t trong m ng. ơ ế ậ ề ể ậ ộ ả ậ ạ
2.2.4.5 PPTP with Firewalls and Routers PPTP devices (clients and servers) accept TCP and IP (GRE) traffic at ports 1723 and 47, respectively. However, when PPTP is used in conjunction with routers and firewalls, the traffic destined for these ports is routed through the firewall or router, which filters the traffic on the basis of Access Control Lists (ACLs) and other native security strategies. In this manner, PPTP further enhances the security services it offers. You should now have the basic idea of PPTP and its functionality. The next section familiarizes you with the pros and cons of implementing PPTP in your VPNs. 2.2.5 Nh ng tán thành và ch ng đ i PPTPữ ố ố
Sau đây là nh ng thu n l i chính c a PPTP :ữ ậ ợ ủ
PPTP đ c g i kèm nh m t gi i pháp cùng v i s n ph m c a Microsoft, đ c dùng ph bi n r ng rãi. ượ ử ư ộ ả ớ ả ẩ ủ ượ ổ ế ộ
PPTP có th h tr các giao th c nonIP.ể ổ ợ ứ
PPTP đ c h tr b i nhi u n n t ng khác nhau, nhượ ỗ ợ ở ề ề ả ư Unix, Linux, và Apple's Macintosh. M t s n n ộ ố ề t ng khác không h tr PPTP cũng có th có l i cho các d ch v b ng cách dùng PPP client router d ng ả ổ ợ ể ợ ị ụ ằ ữ s n. ẵ
Vi c tri n khai PPTP cũng có m t m t khác. PPTP cũng bao g m nh ng b t l i chính sau :ệ ể ộ ặ ồ ữ ấ ợ
PPTP là m t tùy ch n y u kém s khôn ngoan trong b o m t. L2TP và IPSec là nh ng công ngh có ộ ọ ế ự ả ậ ữ ệ